所有的实现类:
- ArrayList:底层是数组。
- LinkedList:底层是双向链表。
- Vetor:底层是数组,线程安全的,效率较低,使用较少。
- HashSet:底层是 HashMap,放到 HashSet 集合中的元素等同于放到 HashMap 集合 key 部分。
- TreeSet:底层是 TreeMap,放到 TreeSet 集合中的元素等同于放到 TreeMap 集合 key 部分。
- HashMap:底层是哈希表。
- Hashtable:底层是哈希表,线程安全的,效率较低,使用较少。
- Properties:线程安全,并且 key 和 value 只能存储字符串 String。
- TreeMap:底层是二叉树,TreeMap 集合的 key 可以自动按照大小顺序排序。
List 集合存储元素的特点:
- 有序可重复
- 有序:存进去的顺序和取出的顺序相同,每一个元素都有下标。
- 可重复:存进去1,可以再存储一个1。
Set(Map) 集合存储元素的特点:
- 无序不可重复
- 无序:存进去的顺序和取出的顺序不一定相同。另外 Set 集合中元素没有下标。
- 不可重复:存进去1,不能再存储1了。
SortedSet(SortedMap) 集合存储元素的特点:
- 无序不可重复,但是集合中的元素可排序
- 可排序:可以按照大小顺序排序。
Map 集合的 key,就是一个 Set 集合。往 Set 集合放数据,实际上放到了 Map 集合的 key 部分。